import { request } from "./index";
import nprogress from "nprogress";
// 需要引入css样式才能显示进度条
import "nprogress/nprogress.css";
import store from "@/store";

// 请求拦截器
request.interceptors.request.use((config) => {
  nprogress.start();
  let userTempId = store.state.user.userTempId;
  //如果用户登录了,我们需要在header中携带token(用来请求后端数据时进行鉴权操作)
  const token = store.state.user.token;
  config.headers.token = token;

  config.headers.userTempId = userTempId;
  return config;
});

// 响应拦截器
request.interceptors.response.use(
  (response) => {
    nprogress.done();
    // console.log(response, "response");
    // 请求成功不代表是我们需要的结果
    //返回的数据response中 data.code=200是后端请求成功的标志   data.data是需要的数据
    if (response.data.code === 200) {
      return response.data.data;
    } else {
      return Promise.reject({ message: response.data.message });
    }
  },
  (err) => {
    nprogress.done();

    return Promise.reject(err);
  }
);

export default request;
